Power management for a data storage system

ABSTRACT

A data storage system includes a plurality of storage devices that are each configured to store host data from a host and to be in a first operating mode or a second operating mode. The second operating mode is a reduced power mode relative to the first operating mode. A bridge of the data storage system is configured to indicate to the host that the plurality of storage devices is in the first operating mode when one or more of the plurality of storage devices is in the second operating mode.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional application of allowed U.S. patentapplication Ser. No. 14/038,733 (Atty. Docket No. T6332), filed on Sept.26, 2013, which is hereby incorporated by reference in its entirety.This application and U.S. patent application Ser. No. 14/038,733 claimthe benefit of U.S. Provisional Application No. 61/859,472, filed onJul. 29, 2013, entitled “POWER MANAGEMENT FOR HYBRID DRIVE,” which ishereby incorporated by reference in its entirety.

BACKGROUND

In a conventional computer system, the computer system may include ahost and a plurality of storage devices. To read data from the storagedevices or write data to the storage devices, the host may issuecommands to access the storage devices. However, there may be times whenthe host does not issue commands to access the storage devices. In suchcases, the storage devices may still consume power. In the case wherethe conventional computer system has a limited power source or batterylife, this may reduce the operational time of the conventional computersystem without depleting the power source or the battery life.

BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the present embodiments will become moreapparent from the detailed description set forth below when taken inconjunction with the drawings, wherein:

FIG. 1 is a block diagram of a computer system according to anembodiment;

FIG. 2 is a block diagram of a hard disk drive according to anembodiment;

FIG. 3 depicts a process for access a logical block address according toan embodiment;

FIG. 4 depicts a table for transitioning one or more storage devicesfrom a first operating mode to a second operating mode according to anembodiment;

FIG. 5 depicts a process with additional optional blocks for accessing alogical block address is according to an embodiment;

FIG. 6 depicts a process for operating a plurality of storage devices ina data storage system according to an embodiment; and

FIG. 7 depicts a table for operating a plurality of storage devices in adata storage system according to an embodiment; and

FIG. 8 depicts a table for operating a plurality of storage devices in adata storage system according to an embodiment.

DETAILED DESCRIPTION

In an embodiment, a computer system 102 comprises a host 104 and a datastorage system 108 as shown in FIG. 1. In an embodiment, the host 104 isconfigured to transmit one or more host commands to the data storagesystem 108. In an embodiment, the host commands can comprise accessing alogical block address (“LBA”) on the data storage system 108. Accessingthe LBA can comprise, for example, writing data to the LBA or readingdata from the LBA.

In an embodiment, the data storage system 108 comprises a bridge 106,and a plurality of storage devices such as the first storage device 110and the second storage device 112. In an embodiment, the bridgecomprises a serial advanced technology attachment (“SATA”) to Dual SATABridge (“SDSB”). In an embodiment, other types of bridges may beutilized in the computer system 102. In an embodiment, the host 104 isconnected to the bridge 106 at a host port and the storage devices areconnected to the bridge 106 at internal ports.

Although two storage devices are shown in the embodiment disclosed inFIG. 1, additional storage devices may also be utilized. In anembodiment, the storage devices can comprise a plurality of LBAs.Furthermore, the storage devices may be a hard disk drive, a hybrid diskdrive, or a solid state drive.

In an embodiment, the solid state drive comprises a solid state memory.In an embodiment, a hard disk drive 114 is shown in FIG. 2. In theembodiment shown in FIG. 2, the hard disk drive 114 comprises a cachememory 116 and a magnetic rotating disk 118. The cache memory 116 cancomprise, for example, volatile memory such as dynamic random accessmemory (“DRAM”). The cache memory 116 can be utilized to store datatemporarily which will be flushed to the hard disk drive 114 when acache flush condition has been reached. In an embodiment, the cachememory 116 stores data which have been recently used, will be used, orhas recently changed.

In an embodiment, a hybrid drive may comprise aspects of both the solidstate drive and the hard disk drive. For example, the hybrid drive maycomprise both the solid state memory and the magnetic rotating disk 118.Optionally, the hybrid drive may also comprise the cache memory 116.

While the description herein refers to solid state memory generally, itis understood that solid state memory may comprise one or more ofvarious types of solid state non-volatile memory devices such as flashintegrated circuits, Chalcogenide RAM (C-RAM), Phase Change Memory(PC-RAM or PRAM), Programmable Metallization Cell RAM (PMC-RAM or PMCm),Ovonic Unified Memory (OUM), Resistance RAM (RRAM), NAND memory (e.g.,single-level cell (SLC) memory, multi-level cell (MLC) memory, or anycombination thereof), NOR memory, EEPROM, Ferroelectric Memory (FeRAM),Magnetoresistive RAM (MRAM), other discrete NVM (non-volatile memory)chips, or any combination thereof.

Referring back to the embodiment shown in FIG. 1, the storage devicesneed not be the same type of drive. For example, the first storagedevice 110 could be a hard disk drive, while the second storage device112 could be a solid state drive. However, in some embodiments, thestorage devices may be the same type of drive. For example, the firststorage device 110 and the second storage device 112 could both be harddisk drives.

In an embodiment, the individual storage devices in the data storagesystem 108 are hidden from the host 104. Instead, in an embodiment, thebridge 106 can translate LBAs from the host 104 to physical addresses inthe storage devices to ensure that host data is appropriately written inthe storage devices. That is, the host 104 can indicate to the bridge106 that host data should be written to a particular LBA and the bridge106 can determine the physical address of the LBA.

The bridge 106 can then write the host data to the physical addresscorresponding to the LBA. For example, when the host 104 wants to writehost data to a LBA, the bridge 106 will determine the physical addressof the LBA as it relates to the storage devices. Thus, if the LBA islocated on the first storage device 110, then the bridge 106 will ensurethat host data is written to the first storage device 110. Similarly, ifthe LBA is located on the second storage device 112, then the bridge 106will ensure that host data is written to the second storage device 112.In an embodiment, the bridge 106 can translate the LBAs to physicaladdresses using a lookup table.

In an embodiment, power savings for the data storage system 108comprises Host Initiated Power Management (“HIPM”) or Device InitiatedPower Management (“DIPM”). In HIPM, the host 104 provides powermanagement of the data storage system 108. For example, the host 104 canindicate when the storage devices in the data storage system 108 shouldbe in a first operating mode or a second operating mode, wherein thesecond operating mode is a reduced power mode relative to the firstoperating mode.

In an embodiment, during HIPM, the host 104 indicates a single operatingmode to the data storage system 108 and assumes that all of the storagedevices will have the same operating mode. For example, when the datastorage system 108 is in the first operating mode the host 104 assumesthat the first storage device 110 and the second storage device 112 arein the first operating mode. For example, the bridge 106 can respondwith an acknowledgment to the host 104 that the first storage device 110and the second storage device 112 are in the first operating mode.Similarly, when the data storage system 108 is in the second operatingmode, the host 104 assumes that the first storage device 110 and thesecond storage device 112 are in the second operating mode. For example,the bridge 106 can respond with an acknowledgment to the host 104 thatthe first storage device 110 and the second storage device 112 are inthe second operating mode.

In an embodiment, in DIPM, each of the storage devices in the datastorage system 108 provides its own power management. In an embodiment,in DIPM, the bridge 106 can provide the power management for each of thestorage devices in the data storage system 108. In an embodiment, thestorage devices or the bridge 106 can still report the operating modethat the storage devices are in to the host 104.

In an embodiment, the first operating mode comprises an active mode andthe second operating mode comprises a slumber mode. In an embodiment,the active mode comprises a PHY ready mode where the SATA physicalinterface for a storage device is ready to send/receive data. In anembodiment, the SATA physical interface can comprise interfaces locatedin the bridge 106 for the storage device, such as the internal ports,and interfaces located in the storage device.

In an embodiment, in a slumber mode, the SATA physical interface is in areduced power mode. In an embodiment, in the slumber mode, the SATAphysical interface can transition to the active or PHY Ready mode in 10ms or less. In an embodiment, the slumber mode utilizes approximately 50mA less current than the active mode for each storage device in the datastorage devices 108. In an embodiment, the PHY Ready mode and theslumber mode correspond to SATA Standards such as those included in theSerial ATA specification developed by SATA-IO, the Serial ATAInternational Organization.

In an embodiment, even in HIPM, the bridge 106 can also provide powermanagement by selectively indicating when each of the storage devices inthe data storage system 108 should wake up, or transition from thesecond operating mode (slumber) to a first operating mode (active)according to a process shown in FIG. 3.

In block 5302, the bridge 106 receives a host command from the host 104to access a LBA. In block 5304, the bridge 106 determines when a storagedevice in the plurality of storage devices in the data storage system108 where the LBA is located.

In block 5306, the bridge 106 indicates to only the storage device wherethe LBA is located, that the storage device where the LBA is locatedshould transition from the second operating mode to the first operatingmode as shown in an embodiment in FIG. 4.

In the embodiment shown in FIG. 4, when the host 104 provides a hostcommand to the data storage system 108 to enter the second operatingmode (slumber), the bridge 106 can pass on the host command to enter thesecond operating mode to both the first storage device 110 and thesecond storage device 112. In such a case, the first storage device 110and the second storage device 112 can enter the second operating mode.

However, when the host 104 provides a host command to the data storagesystem 108 to enter the first operating mode (active), the bridge 106can prevent the command from reaching the first storage device 110 andthe second storage device 112. Thus, the first storage device 110 andthe second storage device 112 can remain in the second operating mode(slumber). In an embodiment, even though the host 104 is indicating thatthe storage devices should be in the first operating mode, the host maybe able to provide other functions which do not utilize the storagedevices. Thus, by having the storage devices remain in the secondoperating mode, power utilization by the storage devices can be reduced.

When the host 104 provides a command which requires access to the datastorage system 108, the bridge 106 can determine which storage deviceneeds to be accessed to fulfill the command, and then wake up only thestorage device which needs to be accessed. For example, if the host 104provides a command to access a LBA, the bridge 106 can determine aphysical location of the corresponding LBA. If the LBA corresponds to aphysical address which is located in the first storage device 110, thebridge 106 will wake up the first storage device 110 and not the secondstorage device 112. Thus, the bridge 106 will indicate to the firststorage device 110 to transition from the second operating mode(slumber) to the first operating mode (active). The second storagedevice 112 will remain in the second operating mode (slumber).

However, if the LBA corresponds to a physical address which is locatedin the second storage device 112, the bridge 106 will wake up the secondstorage device 112 and not the first storage device 110. Thus, thebridge 106 will indicated to the second storage device 112 to transitionfrom the second operating mode (slumber) to the first operating mode(active). The first storage device 110 will remain in the secondoperating mode (slumber).

Thus, instead of waking up both storage devices, only a storage devicewhich corresponds to a physical location of the LBA is woken up by thebridge 106. This can conserve power since the other storage devices willnot be unnecessarily woken up.

In an embodiment, when the storage device comprise the hard disk drive114 (FIG. 2), and the hard disk drive 114 is in the second operatingmode, the hard disk drive 114 can also implement additional power savingmodes to further reduce power consumption. For example, the hard diskdrive 114 can have a head not be actively tracking a movement of themagnetic rotating disk 118, the hard disk drive 114 can move the headaway from the magnetic rotating disk 114, or the hard disk drive 114 caneven spin down the magnetic rotating disk 118. In an embodiment,spinning down the magnetic rotating disk 118 can reduce, for example,current usage by approximately 1 mA.

In an embodiment, the cache memory 116 inside the hard disk drive 114can also be considered another storage device. For example, the cachememory 116 may store data which will be flushed to the magnetic rotatingdisk 118. In such a case, the magnetic rotating disk 118 may not need tobe spun up if the hard disk drive 114 has implemented an additionalpower saving mode, and can remain in the additional power savings mode.In an embodiment, the hard disk drive 114 can also remain in the secondoperating mode. In an embodiment, a cache memory inside the solid statedrive can also be considered another storage device. For example, thecache inside the solid state drive may store data which will be flushedto the solid state memory. In an embodiment, this can reduce an amountof read-modify-write operations performed by the solid state memory. Inan embodiment, this can reduce an amount of partial writes performed bythe solid state memory.

In an embodiment, the bridge 106 can also implement additional blocks ina process shown in FIG. 5 in addition to the process shown in anembodiment in FIG. 3. In block 5502, the bridge 106 uses a lookup tablestored in the bridge 106 to determine the storage device in theplurality of storage devices where the LBA is located. For example, thebridge 106 can determine whether the LBA is located in the first storagedevice 110 or the second storage device 112 using the lookup table.

In block 5504, the bridge 106 can maintain the plurality of storagedevices, aside from the storage device where the LBA is located, in thesecond operating mode. For example, if the LBA is located in the firststorage device 110, the bridge 106 can maintain the second storagedevice 112 in the second operating mode. Similarly, if the LBA islocated in the second storage device 112, the bridge 106 can maintainthe first storage device 110 in the first operating mode.

In an embodiment, during DIPM, the bridge 106 can indicate to the host104 that the storage devices in the data storage system 108 are in thefirst operating mode (active), even when one or more of the storagedevices are in the second operating mode (slumber) according to aprocess shown in FIG. 6. In block S602, the bridge 106 indicates to thehost 104 that the plurality of storage devices are in the firstoperating mode (active) when one or more of the plurality of storagedevices are in the second operating mode as shown in an embodiment inFIG. 7.

In the embodiment shown in FIG. 7, the bridge 106 indicates to the host104 that the first storage device 110 and the second storage device 112are in the first operating mode (active) when the first storage device110 is in the first operating mode (active) and the second storagedevice 112 is in the second operating mode (slumber). Similarly, thebridge 106 indicates to the host 104 that the first storage device 110and the second storage device 112 are in the first operating mode(active) when the first storage device 110 is in the second operatingmode (slumber) and the second storage device 112 is in the firstoperating mode (active).

In an embodiment, this reduces the amount of times that the host 104 hasto communicate with the storage devices to transition the storage devicefrom the second operating mode (slumber) to the first operating mode(active). In an embodiment, this reduces overhead for the host 104 sinceless handshaking communications will be required. In an embodiment, thiscan increase a processor efficiency of the host 104 and reduce powerconsumption.

In an embodiment, this can also decrease power consumption since it maytake a larger amount of power for the host 104 to command one of thestorage devices to transition from the second operating mode (slumber)to the first operating mode (active), even when the one of the storagedevices is in the second operating mode (slumber).

When the first storage device 110 and the second storage device 112 areboth in the first operating mode (active), the bridge 106 indicates tothe host 104 that both the first storage device 110 and the secondstorage device 112 are in the first operating mode (active). However,when the first storage device 110 and the second storage device 112 areboth in the second operating mode (slumber), the bridge 106 indicates tothe host 104 that both the first storage device and the second storagedevice 112 are in the second operating mode (slumber).

Optionally, in block 5604, the bridge 106 indicates to the host that theplurality of storage devices are in the first operating mode (active)when all of the plurality of storage devices are in the second operatingmode (slumber) as shown in an embodiment in FIG. 8.

In the embodiment shown in FIG. 8, the bridge 106 operates similarly tothe embodiment shown in FIG. 7. However, in the embodiment shown in FIG.8, the bridge 106 indicates to the host 104 that both the first storagedevice 110 and the second storage device 112 are in the first operatingmode (active), even when both the first storage device 110 and thesecond storage device 112 are in the second operating mode (slumber).

In an embodiment, this reduces the requirement for the host tocontinually monitor the storage devices to determine what type of modethey are in. Instead, the host 104 will just assume that the storagedevices are in the first operating mode. In an embodiment, this can alsoreduce the amount of times that the host 104 has to communicate with thestorage devices to transition the storage device from the secondoperating mode (slumber) to the first operating mode (active). In anembodiment, this reduces overhead for the host 104 since lesshandshaking communications will be required. In an embodiment, this canincrease a processor efficiency of the host 104 and reduce powerconsumption.

In an embodiment, this can also decrease power consumption since it maytake a larger amount of power for the host 104 to command the storagedevices to transition from the second operating mode (slumber) to thefirst operating mode (active), even when both of the storage devices arein the second operating mode (slumber).

Those of ordinary skill would appreciate that the various illustrativelogical blocks, modules, and algorithm parts described in connectionwith the examples disclosed herein may be implemented as electronichardware, computer software, or combinations of both. Furthermore, theembodiments can also be embodied on a non-transitory machine readablemedium causing a processor or computer to perform or execute certainfunctions.

To clearly illustrate this interchangeability of hardware and software,various illustrative components, blocks, modules, circuits, and processparts have been described above generally in terms of theirfunctionality. Whether such functionality is implemented as hardware orsoftware depends upon the particular application and design constraintsimposed on the overall system. Skilled artisans may implement thedescribed functionality in varying ways for each particular application,but such implementation decisions should not be interpreted as causing adeparture from the scope of the disclosed apparatus and methods.

The parts of a method or algorithm described in connection with theexamples disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.The parts of the method or algorithm may also be performed in analternate order from those provided in the examples. A software modulemay reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROMmemory, registers, hard disk, a removable disk, an optical disk, or anyother form of storage medium known in the art. An exemplary storagemedium is coupled to the processor such that the processor can readinformation from, and write information to, the storage medium. In thealternative, the storage medium may be integral to the processor. Theprocessor and the storage medium may reside in an Application SpecificIntegrated Circuit (ASIC).

The previous description of the disclosed examples is provided to enableany person of ordinary skill in the art to make or use the disclosedmethods and apparatus. Various modifications to these examples will bereadily apparent to those skilled in the art, and the principles definedherein may be applied to other examples without departing from thespirit or scope of the disclosed method and apparatus. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive and the scope of the disclosure is, therefore,indicated by the appended claims rather than by the foregoingdescription. All changes which come within the meaning and range ofequivalency of the claims are to be embraced within their scope.

What is claimed is:
 1. A data storage system comprising: a plurality ofstorage devices, each storage device of the plurality of storage devicesconfigured to store host data from a host and further configured to bein a first operating mode or a second operating mode, wherein the secondoperating mode comprises a reduced power mode relative to the firstoperating mode; and a bridge configured to be connected to the host andthe plurality of storage devices, wherein the bridge is furtherconfigured to indicate to the host that the plurality of storage devicesis in the first operating mode when one or more of the plurality ofstorage devices are in the second operating mode.
 2. The data storagesystem of claim 1, wherein the bridge is further configured to indicateto the host that the plurality of storage devices is in the firstoperating mode when all of the plurality of storage devices are in thesecond operating mode.
 3. The data storage system of claim 1, whereinthe plurality of storage devices comprise at least one hard disk driveand at least one solid state drive.
 4. The data storage system of claim1, wherein the first operating mode comprises an active mode and thesecond operating mode comprises a slumber mode.
 5. The data storagesystem of claim 1, wherein the bridge comprises a Serial AdvancedTechnology Attachment (“SATA”) to dual SATA bridge.
 6. The data storagesystem of claim 1, wherein the data storage system and the host form acomputer system.
 7. The data storage system of claim 1, wherein the hostis configured to transmit the host data to the plurality of storagedevices when the bridge indicates to the host that the plurality ofstorage devices is in the first operating mode.
 8. The data storagesystem of claim 1, wherein the bridge is further configured to: receivea host command for the data storage system to enter the first mode; andprevent the host command from reaching the plurality of storage devices.9. The data storage system of claim 8, wherein the host command is aHost Initiated Power Management (HIPM) command.
 10. The data storagesystem of claim 1, wherein the bridge is further configured to providepower management for each of the storage devices of the plurality ofstorage devices using Device Initiated Power Management (DIPM) at thebridge.
 11. The data storage system of claim 1, wherein the bridge isfurther configured to use DIPM to indicate to the host that theplurality of storage devices is in the first operating mode.
 12. Thedata storage system of claim 1, wherein at least one storage device ofthe plurality of storage devices is a cache memory of another storagedevice in the plurality of storage devices.
 13. A method for operating adata storage system including a plurality of storage devices, the methodcomprising: indicating to a host using a bridge in the data storagesystem that the plurality of storage devices is in a first operatingmode when one or more of the plurality of storage devices are in asecond operating mode, wherein each of the plurality of storage devicesis configured to store host data from the host and be in the firstoperating mode or the second operating mode, and wherein the secondoperating mode comprises a reduced power mode relative to the firstoperating mode.
 14. The method of claim 13, further comprisingindicating to the host using the bridge that the plurality of storagedevices is in the first operating mode when all of the storage devicesof the plurality of storage devices are in the second operating mode.15. The method of claim 13, wherein the first operating mode comprisesan active mode and the second operating mode comprises a slumber mode.16. The method of claim 13, further comprising transmitting the hostdata by the host to the plurality of storage devices when the bridgeindicates to the host that the plurality of storage devices is in thefirst operating mode.
 17. The method of claim 13, further comprising:receiving a host command at the bridge for the data storage system toenter the first mode; and preventing the host command from reaching theplurality of storage devices.
 18. The method of claim 18, wherein thehost command is a Host Initiated Power Management (HIPM) command. 19.The method of claim 13, further comprising using the bridge to providepower management for each of the storage devices in the plurality ofstorage devices with Device Initiated Power Management (DIPM) at thebridge.
 20. The method of claim 13, further comprising using DIPM toindicate to the host that the plurality of storage devices is in thefirst operating mode.
 21. The method of claim 13, wherein at least oneof the plurality of storage devices is a cache memory of another storagedevice in the plurality of storage devices.